Calendar All Tests
Current file: /home/estudydev/workspace/eStudy_svn/web/calendar/classes/class.grouptimesorganisation.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
100.00 %100.00%
100.00% 1 / 1
11.11 %11.11%
11.11% 1 / 9
1.45 %1.45%
1.45% 5 / 344
 
GrouptimesOrganisation
100.00 %100.00%
100.00% 1 / 1
11.11 %11.11%
11.11% 1 / 9
1.45 %1.45%
1.45% 5 / 344
 public function GrouptimesOrganisation()
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 5 / 5
 private function checkRights($groupId, $kindOfGroup)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 32
 public function showGrouptimes($groupID, $grouptype)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 71
 public function editGrouptimeBlock($event, $groupID, $grouptype)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 34
 public function saveEditedGrouptimeBlock($event, $groupID, $grouptype)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 64
 public function addGrouptimeBlock($groupID, $grouptype)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
 public function do_addGrouptimeBlock($event, $groupID, $grouptype)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 80
 private function combineBlocks($r_events, $newvalues)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 41
 public function deleteGrouptimeBlock($id, $groupID, $grouptype, $do_redirect)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7


       1                 : <?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
       2                 : /*--------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
       3                 : This file is part of eStudy.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
       4                 : calendar/class.calendar.inc.php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
       5                 : - Modulgruppe:  Calendar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
       6                 : - Beschreibung: Klasse für Gruppenzeitenverwaltung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
       7                 : - Version:        $Id: class.grouptimesorganisation.inc.php,v 1.4.20.3 2007/12/19 23:10:04 commana Exp $                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
       8                 : - Autor(en):    Corinna Kropf <corinna_kropf@web.de>,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
       9                 : Michel Kraemer <michel.kraemer@mni.fh-giessen.de>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      10                 : Nadja Kruemmel <nadja@kruemmel.info>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
      11                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      12                 : This program is free software; you can redistribute it and/or                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      13                 : modify it under the terms of the GNU General Public License                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      14                 : as published by the Free Software Foundation; either version 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      15                 : of the License, or any later version.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      16                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      17                 : This program is distributed in the hope that it will be useful,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      18                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      19                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      20                 : GNU General Public License for more details.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      21                 : You should have received a copy of the GNU General Public License                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      22                 : along with this program; if not, write to the Free Software                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      23                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      24                 : +--------------------------------------------------------------------------*/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      25                 : require_once (PATH_TO_ROOT."calendar/classes/class.template.inc.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      26                 : /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      27                 :  * Klasse zur Verwaltung des Kalenders                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      28                 :  * @package eStudy.Calendar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      29                 :  * @author Corinna Kropf <corinna_kropf@web.de>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      30                 :  * @author Michel Kraemer <michel.kraemer@mni.fh-giessen.de>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      31                 :  * @author Nadja Kruemmel <nadja@kruemmel.info>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      32                 :  * @version $Id: class.grouptimesorganisation.inc.php,v 1.4.20.3 2007/12/19 23:10:04 commana Exp $                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
      33                 :  */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      34                 : class GrouptimesOrganisation {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      35                 :     private $templates = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      36                 :     private $a_daynames = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
      37                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      38                 :      * Konstruktor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
      39                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      40                 :     public function GrouptimesOrganisation() {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      41               6 :         $this->templates = array('grouptimeblockdelete' => new Template(PATH_TO_ROOT."calendar/templates/grouptimeblockdelete.html"), 'grouptimes' => new Template(PATH_TO_ROOT."calendar/templates/grouptimes.html"), 'grouptimesaddblock' => new Template(PATH_TO_ROOT."calendar/templates/grouptimesaddblock.html"), 'grouptimeseditblock' => new Template(PATH_TO_ROOT."calendar/templates/grouptimeseditblock.html"));                                                                                                                                                                                                                                
      42               6 :         global $navpath;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
      43               6 :         $navpath = 'Kalender';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      44               6 :         $this->a_daynames = array(1 => 'Montag', 2 => 'Dienstag', 3 => 'Mittwoch', 4 => 'Donnerstag', 5 => 'Freitag', 6 => 'Samstag', 7 => 'Sonntag');                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      45               6 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      46                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      47                 :      * Pruefe, ob der Benutzer die Rechte hat, den Kalender zu bearbeiten,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
      48                 :      * d.h. ob er in der Gruppe ist und die Rechte hat                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      49                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      50                 :      * @param groupId ID des Events                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      51                 :      * @param kindOfGroup Typ der Gruppe: 0 für einen Kurs, 1 für ein Team                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      52                 :      * @return Fehlermeldung, wenn ein Fehler aufgetreten ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      53                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      54                 :     private function checkRights($groupId, $kindOfGroup) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
      55                 :         // prüfen, ob es diesen Kurs/dieses Team überhaupt gibt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      56               0 :         if($kindOfGroup == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      57               0 :             $result = mysql_query("SELECT * FROM courses                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
      58               0 :                                    WHERE ID='".Data::toMysql($groupId)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      59               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      60               0 :         else if($kindOfGroup == 1) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
      61               0 :             $result = mysql_query("SELECT * FROM teams                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      62               0 :                                    WHERE id='".Data::toMysql($groupId)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      63               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      64                 :         // Kurs/Team existiert                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
      65               0 :         if(isset($result) && mysql_num_rows($result) > 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      66                 :                   // Admin darf alles                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      67               0 :                 if ($_SESSION['usergroup'] == ADMIN) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      68               0 :                     return;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      69                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      70                 :                 else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      71                 :                     // Kurs => prüfen ob der User Dozent des Kurses ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
      72               0 :                     if($kindOfGroup == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      73               0 :                         $docents = Course::getParticipants((int)$groupId, "teacher");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      74               0 :                         foreach($docents as $docent) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      75               0 :                             if ($docent->userid == $_SESSION['userid']) $canEdit = true;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
      76               0 :                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      77               0 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      78                 :                     // Team => prüfen ob der User die entsprechenden Rechte hat                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
      79               0 :                     if($kindOfGroup == 1) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      80               0 :                         $result = mysql_query("SELECT * FROM user_team                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      81               0 :                                         WHERE team_id='".Data::toMysql($groupId)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      82               0 :                                         AND user_id='".Data::toMysql($_SESSION['userid'])."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      83               0 :                                         AND editCalendar='1'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      84               0 :                         if (mysql_num_rows($result) > 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
      85               0 :                             $canEdit = true;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      86               0 :                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      87               0 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      88               0 :                     if (!isset($canEdit) || $canEdit == false) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
      89               0 :                         return "Sie haben nicht gen&uuml;gend Rechte, um die Gruppenzeiten f&uuml;r diese Gruppe zu bearbeiten!";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      90                 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      91                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      92               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      93               0 :         if (!isset($canEdit) || $canEdit == false) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
      94               0 :             return "Diese Gruppe existiert nicht!";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      95                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
      96               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
      97                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      98                 :      * Zeigt die Uebersicht der Gruppenzeiten fuer den Kurs/das Team inklusive edit-Funktionen an                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      99                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     100                 :      * @param groupID ID des Kurses/Teams                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     101                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     102                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     103                 :     public function showGrouptimes($groupID, $grouptype) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     104               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     105               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     106               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     107                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     108               0 :             $a_errmsg = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     109                 :             //Link für neuen Gruppenzeitblock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     110               0 :             $addTimeBlock = "<a href='grouptimesorganisation.php?action=addGrouptimeBlock&amp;groupID=$groupID&amp;grouptype=$grouptype'>Neu</a>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     111                 :             //Name des Kurses (und Teams)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     112               0 :             if ($grouptype == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     113                 :                 //alle Zeitblöcke aus der DB lesen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     114               0 :                 $a_times = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     115               0 :                 $r_times = Functions::forum_query("SELECT * FROM calendar_frame f, calendar_frame_courses c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     116               0 :                     WHERE c.coursesID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     117                 :                     AND c.frameID=f.ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     118               0 :                     ORDER BY f.startday, f.starttime");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     119               0 :                 $error = mysql_error();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     120                 :                 if($error)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     121               0 :                     $a_errmsg[] = $error;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     122                 :                 else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     123               0 :                     if ($groupID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     124               0 :                         $group = 'das Foyer';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     125               0 :                     } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     126               0 :                         $coursename = Functions::forum_query("SELECT Name FROM courses WHERE ID='".Data::toMysql($groupID)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     127               0 :                         $row = mysql_fetch_array($coursename);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     128               0 :                         $group = 'den Kurs '.Data::toHTML($row['Name']);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     129                 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     130                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     131               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     132                 :                 //alle Zeitblöcke aus der DB lesen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     133               0 :                 $a_times = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     134               0 :                 $r_times = Functions::forum_query("SELECT * FROM calendar_frame f, calendar_frame_teams t                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     135               0 :                     WHERE t.teamsID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     136                 :                     AND t.frameID=f.ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     137               0 :                     ORDER BY f.startday, f.starttime");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     138               0 :                 $error = mysql_error();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     139                 :                 if($error)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     140               0 :                     $a_errmsg[] = $error;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     141                 :                 else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     142               0 :                     $r_team = Functions::forum_query("SELECT name, course_id FROM teams WHERE id='".Data::toMysql($groupID)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     143               0 :                     $team = mysql_fetch_array($r_team);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     144               0 :                     $coursename = Functions::forum_query("SELECT Name FROM courses WHERE ID='".Data::toMysql($team['course_id'])."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     145               0 :                     $group = 'das Team '.Data::toHTML($team['name'])." ( Kurs ".Data::toHTML(mysql_result($coursename, 0)) ." )";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     146                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     147                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     148               0 :             if (array_count_values($a_errmsg)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     149               0 :                 echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     150               0 :                 Output::errorMessage('Folgende Fehler sind aufgetreten:<br/>'.Data::toHTML(implode($a_errmsg, '<br/>')) .'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                                 
     151               0 :                 echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     152               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     153                 :             else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     154               0 :                 $a_times = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     155               0 :                 while ($time = mysql_fetch_array($r_times)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     156               0 :                     $a_times[][] = $time;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     157               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     158               0 :                 $times = '<tr>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     159               0 :                 for ($i = 1 ; $i <= 7 ; $i++) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     160               0 :                     $timeBlocks = "";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     161               0 :                     foreach($a_times as $t_times) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     162               0 :                         foreach($t_times as $time) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     163               0 :                             $startday = Data::toHTML($time['startday']);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     164               0 :                             $starttime = substr(Data::toHTML($time['starttime']), 0, 5);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     165               0 :                             $endday = Data::toHTML($time['endday']);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     166               0 :                             $endtime = substr(Data::toHTML($time['endtime']), 0, 5);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     167               0 :                             if (($startday) == $i) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     168               0 :                                 if($startday != $endday)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     169               0 :                                     $timeBlocks .= "<div class='calendarEntry' style='color: #000000;text-align:center;margin:5%;padding-top:5%;padding-bottom:5%;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     170                 :                                 else                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     171               0 :                                     $timeBlocks.= " <div class='calendarEntry' style='color: #000000;text-align:center;margin:5%;padding-top:5%;padding-bottom:5%;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     172               0 :                                        $timeBlocks .= "von ".$starttime;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     173               0 :                                    if($startday != $endday)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     174               0 :                                        $timeBlocks .= "</div>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     175               0 :                             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     176               0 :                             if ($i > $startday && $i < $endday) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     177               0 :                                 $timeBlocks.= "<div class='calendarEntry' style='margin:5%'></div>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     178               0 :                             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     179               0 :                             if ($endday == $i) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     180               0 :                                 if($startday != $endday)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     181               0 :                                     $timeBlocks .= "<div class='calendarEntry' style='margin:5%;padding-top:5%;padding-bottom:5%;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     182               0 :                                 $timeBlocks.= "<div style='color: #000000;text-align:center;margin:5%;'>"."<a href=\"grouptimesorganisation.php?action=editGrouptimeBlock&amp;event=".Data::toHTML($time['ID'])."&amp;groupID=$groupID&amp;grouptype=$grouptype\" title='Gruppenzeit bearbeiten'>".Output::getIcon('icon_edit', 'Gruppenzeit bearbeiten') ."</a>"."<a href=\"#\" onclick=\"javascript:deleteOK($time[ID], $groupID, $grouptype, true);\" title='Gruppenzeit l&ouml;schen'>".Output::getIcon('icon_delete', 'Gruppenzeit löschen') ."</a></div>"."<div style='color: #000000;text-align:center;margin:5%'>"."bis ".$endtime."</div></div>";
     183               0 :                             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     184               0 :                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     185               0 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     186               0 :                     $times.= '<td valign="top" class="calendarEntry">'.$timeBlocks.'</td>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     187               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     188               0 :                 $times.= "</tr>\n";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     189               0 :                 eval($this->templates['grouptimes']->GetTemplate());                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     190               0 :                 eval($this->templates['grouptimeblockdelete']->GetTemplate());                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     191                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     192                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     193               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     194                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     195                 :      * Zeigt Formular zum Aendern eines Gruppenzeitblocks an                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     196                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     197                 :      * @param event         ID des zu aendernden Gruppenzeitblock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     198                 :      * @param groupID        ID des Kurses/Teams, für das der Gruppenzeitblock eingetragen ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     199                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     200                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     201                 :     public function editGrouptimeBlock($event, $groupID, $grouptype) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     202               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     203               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     204               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     205                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     206               0 :             if ($grouptype == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     207               0 :                 $r_event = mysql_query("SELECT * FROM calendar_frame f, calendar_frame_courses c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     208               0 :                         WHERE f.ID='".Data::toMysql($event)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     209                 :                         AND f.ID=c.frameID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     210               0 :                         AND c.coursesID='".Data::toMysql($groupID)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     211               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     212               0 :                 $r_event = mysql_query("SELECT * FROM calendar_frame f, calendar_frame_teams t                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     213               0 :                         WHERE f.ID='".Data::toMysql($event)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     214                 :                         AND f.ID=t.frameID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     215               0 :                         AND t.teamsID='".Data::toMysql($groupID)."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     216                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     217               0 :             $error = mysql_error();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     218               0 :             if($error) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     219               0 :                 echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     220               0 :                 Output::errorMessage('Folgende Fehler sind aufgetreten:<br/>'.Data::toHTML($error).'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                                                       
     221               0 :                 echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     222               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     223                 :             else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     224               0 :                 $timeBlock = mysql_fetch_array($r_event);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     225               0 :                 $startday = $timeBlock['startday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     226               0 :                     $endday = $timeBlock['endday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     227                 :                 //Stunden und Minuten separieren                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     228               0 :                 $starttime = array(0 => substr($timeBlock['starttime'], 0, 2), 1 => substr($timeBlock['starttime'], 3, 2),);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     229               0 :                 $endtime = array(0 => substr($timeBlock['endtime'], 0, 2), 1 => substr($timeBlock['endtime'], 3, 2),);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     230                 :                 //Auswahlbox mit dem aktellen Starttag/Endtag                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     231               0 :                 $startdayform = '<select name="newtime[startday]" class="tbselect">';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     232               0 :                 for ($i = 1 ; $i <= 7 ; $i++) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     233               0 :                     $startdayform.= '<option value="'.$i.'"'.($i == $startday ? ' selected="selected"' : '') .'>'.$this->a_daynames[$i].'</option>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     234               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     235               0 :                 $startdayform.= '</select>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     236               0 :                 $enddayform = '<select name="newtime[endday]" class="tbselect">';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     237               0 :                 for ($i = 1 ; $i <= 7 ; $i++) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     238               0 :                     $enddayform.= '<option value="'.$i.'"'.($i == $endday ? ' selected="selected"' : '') .'>'.$this->a_daynames[$i].'</option>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     239               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     240               0 :                 $enddayform.= '</select>';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     241               0 :                 eval($this->templates['grouptimeseditblock']->GetTemplate());                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     242                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     243                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     244               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     245                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     246                 :      * Änderungen für einen Gruppenzeitblock übernehmen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     247                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     248                 :      * @param event         zu aendernde Daten für den Gruppenzeitblock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     249                 :      * @param groupID        ID des Kurses/Teams, für das der Gruppenzeitblock eingetragen ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     250                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     251                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     252                 :     public function saveEditedGrouptimeBlock($event, $groupID, $grouptype) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     253               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     254               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     255               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     256                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     257               0 :             $a_errmsg = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     258                 :             //falls nötig der Stunde / Minute eine 0 voranstellen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     259               0 :             if (strlen($event['starthour']) != 2) $event['starthour'] = '0'.$event['starthour'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     260               0 :             if (strlen($event['startmin']) != 2) $event['startmin'] = '0'.$event['startmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     261               0 :             if (strlen($event['endhour']) != 2) $event['endhour'] = '0'.$event['endhour'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     262               0 :             if (strlen($event['endmin']) != 2) $event['endmin'] = '0'.$event['endmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     263               0 :             $starttime = $event['starthour'].":".$event['startmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     264               0 :             if (!is_numeric($event['starthour']) || !is_numeric($event['startmin']) || !($event['starthour'] >= 0 && $event['starthour'] <= 23) || !($event['startmin'] >= 0 && $event['startmin'] <= 59)) {                                                                                                                                                                                                                                                                                                                                                                                                                                               
     265               0 :                 $a_errmsg[] = 'Sie haben eine ung&uuml;ltige Startzeit angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     266               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     267               0 :             $endtime = $event['endhour'].":".$event['endmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     268               0 :             if (!is_numeric($event['endhour']) || !is_numeric($event['endmin']) || !($event['endhour'] >= 0 && $event['endhour'] <= 23) || !($event['endmin'] >= 0 && $event['endmin'] <= 59)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     269               0 :                 $a_errmsg[] = 'Sie haben eine ung&uuml;ltige Endzeit angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     270               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     271               0 :             if (array_count_values($a_errmsg)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     272               0 :                 echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     273               0 :                 Output::errorMessage('Folgende Fehler sind bei der Eingabe aufgetreten:<br/>'.Data::toHTML(implode($a_errmsg, '<br/>')) .'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                 
     274               0 :                 echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     275               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     276                 :                 //prüfen, ob der block sich evtl. mit einem vorhandenen eintrag überschneidet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     277               0 :                 if ($grouptype == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     278                 :                     $sql = ("SELECT f.* FROM calendar_frame f, calendar_frame_courses g                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     279               0 :                                 WHERE g.coursesID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     280               0 :                                 AND g.frameID=f.ID");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     281               0 :                 } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     282                 :                     $sql = ("SELECT f.* FROM calendar_frame f, calendar_frame_teams g                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     283               0 :                                 WHERE g.teamsID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     284               0 :                                 AND g.frameID=f.ID");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     285                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     286               0 :                 $r_events = Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     287               0 :                 $error = mysql_error();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     288               0 :                 if($error) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     289               0 :                     echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     290               0 :                     Output::errorMessage('Folgende Fehler sind aufgetreten:<br/>'.Data::toHTML($error).'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                                                   
     291               0 :                     echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     292               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     293                 :                 else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     294               0 :                     $newvalues = array('ID' => Data::toHTML($event['ID']), 'startday' => Data::toHTML($event['startday']), 'starttime' => Data::toHTML($starttime) .":00", 'endday' => Data::toHTML($event['endday']), 'endtime' => Data::toHTML($endtime) .":00");                                                                                                                                                                                                                                                                                                                                                                                        
     295               0 :                     $res = $this->combineBlocks($r_events, $newvalues);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     296               0 :                     if (!isset($res)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     297               0 :                         $sql = "DELETE FROM calendar_frame WHERE ID='".Data::toMysql($newvalues['ID'])."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     298               0 :                         Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     299               0 :                         Functions::message_redirect("Update erfolgreich", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     300               0 :                     } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     301               0 :                         $concurrentIDs = $res['concurrentIDs'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     302               0 :                         $newvalues = $res['newvalues'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     303               0 :                         if (count($concurrentIDs) == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     304               0 :                             mysql_query("UPDATE calendar_frame SET "."startday = '".Data::toMysql($event['startday']) ."', endday = '".Data::toMysql($event['endday']) ."', starttime = '".Data::toMysql($starttime)."', endtime = '".Data::toMysql($endtime)."' "."WHERE ID = '".Data::toMysql($event['ID'])."'");                                                                                                                                                                                                                                                                                                                                        
     305               0 :                             Functions::message_redirect("Update erfolgreich", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     306               0 :                         } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     307                 :                                //starte transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     308               0 :                             $sql = "BEGIN";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     309               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     310                 :                             //den eintrag mit der ersten id auf die neuen werte ändern,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     311               0 :                             $idToChange = $event['ID'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     312               0 :                             $sql = "UPDATE calendar_frame SET"." startday='".Data::toMysql($newvalues['startday']) ."'".", endday='".Data::toMysql($newvalues['endday']) ."'".", starttime='".Data::toMysql($newvalues['starttime']) ."'".", endtime='".Data::toMysql($newvalues['endtime']) ."'"." WHERE ID='".Data::toMysql($idToChange)."'";                                                                                                                                                                                                                                                                                                            
     313               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     314                 :                             //alle andere anderen IDs in $concurrentIDs[] ist löschen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     315               0 :                             for ($i = 0 ; $i < count($concurrentIDs) ; $i++) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     316               0 :                                 $id = $concurrentIDs[$i];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     317               0 :                                 $sql = "DELETE FROM calendar_frame WHERE ID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     318               0 :                                 Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     319               0 :                                 if ($grouptype == 0) $sql = "DELETE FROM calendar_frame_courses WHERE frameID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     320               0 :                                 else $sql = "DELETE FROM calendar_frame_teams WHERE frameID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     321               0 :                                 Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     322               0 :                             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     323                 :                             //beende transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     324               0 :                             $sql = "COMMIT";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     325               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     326               0 :                             Functions::message_redirect("Die Zeit überschneidet sich mit bereits vorhandenen Einträgen, diese werden kombiniert.<br/>", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                             
     327                 :                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     328                 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     329                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     330                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     331                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     332               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     333                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     334                 :      * Zeigt Formular zum Eintragen eines neuen Gruppenzeitblocks an                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     335                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     336                 :      * @param groupID        ID des Kurses/Teams, für das der Gruppenzeitblock definiert werden soll                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     337                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     338                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     339                 :     public function addGrouptimeBlock($groupID, $grouptype) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     340               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     341               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     342               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     343                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     344                 :             //default-werte                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     345               0 :             $event['starthour'] = '00';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     346               0 :             $event['startmin'] = '00';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     347               0 :             $event['endhour'] = '23';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     348               0 :             $event['endmin'] = '59';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     349               0 :             $t_action = "grouptimesorganisation.php?action=do_addGrouptimeBlock&amp;groupID=$groupID&amp;grouptype=$grouptype";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     350               0 :             eval($this->templates['grouptimesaddblock']->GetTemplate());                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     351                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     352               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     353                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     354                 :      * Traegt den neuen Gruppenzeitblock in DB ein                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     355                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     356                 :      * @param event         Daten des neuen Gruppenzeitblocks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     357                 :      * @param groupID        ID des Kurses/Teams, für das der Gruppenzeitblock definiert werden soll                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     358                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     359                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     360                 :     public function do_addGrouptimeBlock($event, $groupID, $grouptype) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     361               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     362               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     363               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     364                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     365               0 :             $a_errmsg = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     366                 :             //default-werte                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     367               0 :             if (!isset($event['startday'])) $event['startday'] = 1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     368               0 :             if (!isset($event['starthour'])) $event['starthour'] = 0;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     369               0 :             if (!isset($event['startmin'])) $event['startmin'] = 0;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     370               0 :             if (!isset($event['endday'])) $event['endday'] = 7;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     371               0 :             if (!isset($event['endhour'])) $event['endhour'] = 23;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     372               0 :             if (!isset($event['endmin'])) $event['endmin'] = 59;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     373                 :             //falls nötig der Stunde / Minute eine 0 voranstellen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     374               0 :             if (strlen($event['starthour']) != 2) $event['starthour'] = '0'.$event['starthour'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     375               0 :             if (strlen($event['startmin']) != 2) $event['startmin'] = '0'.$event['startmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     376               0 :             if (strlen($event['endhour']) != 2) $event['endhour'] = '0'.$event['endhour'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     377               0 :             if (strlen($event['endmin']) != 2) $event['endmin'] = '0'.$event['endmin'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     378               0 :             if ($event['startday'] == 0) $a_errmsg[] = 'Sie haben keinen Start-Wochentag angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     379               0 :             if ($event['endday'] == 0) $a_errmsg[] = 'Sie haben keinen End-Wochentag angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     380               0 :             $starttime = $event['starthour'].":".$event['startmin'].":00";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     381               0 :             if (!is_numeric($event['starthour']) || !is_numeric($event['startmin']) || !($event['starthour'] >= 0 && $event['starthour'] <= 23) || !($event['startmin'] >= 0 && $event['startmin'] <= 59)) {                                                                                                                                                                                                                                                                                                                                                                                                                                               
     382               0 :                 $a_errmsg[] = 'Sie haben eine ung&uuml;ltige Startzeit angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     383               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     384               0 :             $endtime = $event['endhour'].":".$event['endmin'].":00";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     385               0 :             if (!is_numeric($event['endhour']) || !is_numeric($event['endmin']) || !($event['endhour'] >= 0 && $event['endhour'] <= 23) || !($event['endmin'] >= 0 && $event['endmin'] <= 59)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     386               0 :                 $a_errmsg[] = 'Sie haben eine ung&uuml;ltige Endzeit angegeben.';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     387               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     388               0 :             if (array_count_values($a_errmsg)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     389               0 :                 echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     390               0 :                 Output::errorMessage('Folgende Fehler sind bei der Eingabe aufgetreten:<br/>'.Data::toHTML(implode($a_errmsg, '<br/>')) .'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                 
     391               0 :                 echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     392               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     393                 :                 //prüfen, ob der block sich evtl. mit einem vorhandenen eintrag überschneidet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     394               0 :                 if ($grouptype == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     395                 :                     $sql = ("SELECT f.* FROM calendar_frame f, calendar_frame_courses g                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     396               0 :                                 WHERE g.coursesID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     397               0 :                                 AND g.frameID=f.ID");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     398               0 :                 } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     399                 :                     $sql = ("SELECT f.* FROM calendar_frame f, calendar_frame_teams g                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     400               0 :                                 WHERE g.teamsID='".Data::toMysql($groupID)."'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     401               0 :                                 AND g.frameID=f.ID");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     402                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     403               0 :                 $r_events = Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     404               0 :                 $error = mysql_error();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     405               0 :                 if($error) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     406               0 :                     echo "<br/><br/><table width='100%' style='text-align: center;'>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     407               0 :                     Output::errorMessage('Folgende Fehler sind aufgetreten:<br/>'.Data::toHTML($error).'<br/>Gehen Sie mit dem Zur&uuml;ck-Button Ihres Browsers zur vorherigen Seite, um die Angaben zu korrigieren.');                                                                                                                                                                                                                                                                                                                                                                                                                                   
     408               0 :                     echo "</table><br/><br/>";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     409               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     410                 :                 else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     411               0 :                     $newvalues = array('startday' => Data::toHTML($event['startday']), 'starttime' => Data::toHTML($starttime), 'endday' => Data::toHTML($event['endday']), 'endtime' => Data::toHTML($endtime));                                                                                                                                                                                                                                                                                                                                                                                                                                          
     412               0 :                     $res = $this->combineBlocks($r_events, $newvalues);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     413               0 :                     if (!isset($res)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     414               0 :                         Functions::message_redirect("Kein Update nötig, die Werte liegen innerhalb eines vorhandenen Gruppenzeitblocks", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                                             
     415               0 :                     } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     416               0 :                         $concurrentIDs = $res['concurrentIDs'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     417               0 :                         $newvalues = $res['newvalues'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     418               0 :                         if (count($concurrentIDs) == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     419                 :                             //keine überlappenden einträge => neuen eintrag machen mit $newvalues                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     420                 :                             //starte transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     421               0 :                             $sql = "BEGIN";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     422               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     423                 :                             //füge gruppenzeiteintrag hinzu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     424               0 :                             $sql = ("INSERT INTO calendar_frame (startday,endday,starttime,endtime) VALUES ('".Data::toMysql($event['startday'])."','".Data::toMysql($event['endday'])."','".Data::toMysql($starttime)."','".Data::toMysql($endtime)."');");                                                                                                                                                                                                                                                                                                                                                                                               
     425               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     426                 :                             //hole neue id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     427               0 :                             $newFrameID = mysql_insert_id();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     428               0 :                             if ($grouptype == 0) $sql = ("INSERT INTO calendar_frame_courses (coursesID, frameID) VALUES ('".Data::toMysql($groupID)."','".Data::toMysql($newFrameID)."')");                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     429               0 :                             else $sql = ("INSERT INTO calendar_frame_teams (teamsID, frameID) VALUES ('".Data::toMysql($groupID)."','".Data::toMysql($newFrameID)."')");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     430               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     431                 :                             //beende transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     432               0 :                             $sql = "COMMIT";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     433               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     434               0 :                             Functions::message_redirect("Eintrag erfolgreich", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     435               0 :                         } else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     436                 :                             //starte transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     437               0 :                             $sql = "BEGIN";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     438               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     439                 :                             //den eintrag mit der ersten id auf die neuen werte ändern,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     440               0 :                             $idToChange = $concurrentIDs[0];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     441               0 :                             $sql = "UPDATE calendar_frame SET"." startday='".Data::toMysql($newvalues['startday']) ."'".", endday='".Data::toMysql($newvalues['endday']) ."'".", starttime='".Data::toMysql($newvalues['starttime']) ."'".", endtime='".Data::toMysql($newvalues['endtime']) ."'"." WHERE ID='".Data::toMysql($idToChange)."'";                                                                                                                                                                                                                                                                                                            
     442               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     443                 :                             //alle andere anderen IDs in $concurrentIDs[] ist löschen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     444               0 :                             for ($i = 1 ; $i < count($concurrentIDs) ; $i++) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     445               0 :                                 $id = $concurrentIDs[$i];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     446               0 :                                 if ($id == $idToChange) continue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     447               0 :                                 $sql = "DELETE FROM calendar_frame WHERE ID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     448               0 :                                 Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     449               0 :                                 if ($grouptype == 0) $sql = "DELETE FROM calendar_frame_courses WHERE frameID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     450               0 :                                 else $sql = "DELETE FROM calendar_frame_teams WHERE frameID='".Data::toMysql($id)."'";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     451               0 :                                 Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     452               0 :                             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     453                 :                             //beende transaktion                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     454               0 :                             $sql = "COMMIT";                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     455               0 :                             Functions::forum_query($sql);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     456               0 :                             Functions::message_redirect("Die Zeit überschneidet sich mit bereits vorhandenen Einträgen, diese werden kombiniert.<br/>", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                             
     457                 :                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     458                 :                     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     459                 :                 }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     460                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     461                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     462               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     463                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     464                 :      * Prueft, ob der neu einzutragende Gruppenzeitblock sich mit einem oder mehreren                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     465                 :      * vorhandenen Eintraegen dieser Gruppe überschneidet.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     466                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     467                 :      * @param $r_events    SQL-Array mit allen Gruppenzeit-Eintraegen dieses Kurses/Teams                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     468                 :      * @param $newvalues    die Werte, die der User im Edit-Formular angegeben hat                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     469                 :      * @return     Array mit:     Liste der Werte, die Eingetragen werden müssen:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     470                 :      *                             Die uebergebenen Werte, wenn sie sich mit keinem vorhandenen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     471                 :      *                             Block ueberschneiden, sonst die neuen Werte                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     472                 :      *                         Liste der IDs derjenigen Bloecke, mit denen sich die neuen Werte ueberschneiden                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     473                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     474                 :     private function combineBlocks($r_events, $newvalues) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     475               0 :         $startday = $newvalues['startday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     476               0 :         $starttime = mktime(intval(substr($newvalues['starttime'], 0, 2)), intval(substr($newvalues['starttime'], 3, 2)), intval(substr($newvalues['starttime'], 6, 2))); //$newvalues['starttime'];                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     477               0 :         $endday = $newvalues['endday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     478               0 :         $endtime = mktime(intval(substr($newvalues['endtime'], 0, 2)), intval(substr($newvalues['endtime'], 3, 2)), intval(substr($newvalues['endtime'], 6, 2))); //$newvalues['endtime'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     479               0 :         if ($startday > $endday) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     480               0 :             $endday+= 7;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     481               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     482               0 :         $concurrentIDs = array();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     483               0 :         $i = 0;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     484               0 :         while ($e_event = mysql_fetch_array($r_events)) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     485               0 :             if (isset($newvalues['ID']) && $newvalues['ID'] == $e_event['ID']) continue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     486               0 :             $e_startday = $e_event['startday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     487               0 :             $e_starttime = mktime(intval(substr($e_event['starttime'], 0, 2)), intval(substr($e_event['starttime'], 3, 2)), intval(substr($e_event['starttime'], 6, 2)));                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     488               0 :             $e_endday = $e_event['endday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     489               0 :             $e_endtime = mktime(intval(substr($e_event['endtime'], 0, 2)), intval(substr($e_event['endtime'], 3, 2)), intval(substr($e_event['endtime'], 6, 2)));                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     490               0 :             if ($e_startday > $e_endday) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     491               0 :                 $e_endday+= 7;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     492               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     493                 :             //nicht betroffene einträge überspringen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
     494               0 :             if (($startday < $e_startday && $endday < $e_startday && ($startday+7) > $e_endday) || ($startday > $e_endday && $endday > $e_endday && ($endday-7) < $e_startday) || ($startday == $endday && $startday == $e_startday && $endday == $e_endday && ($starttime > $e_endtime || $endtime < $e_starttime))) {                                                                                                                                                                                                                                                                                                                                    
     495               0 :                 continue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     496                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     497                 :             //neue werte liegen komplett in einem schon vorhandenen eintrag => kein neuer eintrag nötig                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     498               0 :             if (($startday > $e_startday || ($startday == $e_startday && $starttime >= $e_starttime)) && ($endday < $e_endday || ($endday == $e_endday && $endtime <= $e_endtime))) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     499               0 :                 return null;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     500                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     501               0 :             $concurrentIDs[$i++] = $e_event['ID']; // IDs der Einträge merken, die überdeckt werden                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     502                 :             // die zum schluss löschen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     503                 :             //vorhandener eintrag wird von den neuen werten komplett überdeckt => diesen löschen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     504               0 :             if (($startday < $e_startday || ($startday == $e_startday && $starttime < $e_starttime)) && ($endday > $e_endday || ($endday == $e_endday && $endtime >= $e_endtime))) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     505               0 :                 continue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     506                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     507                 :             //der selbe tag => wenn nötig uhrzeiten anpassen:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     508                 :             //start                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     509               0 :             if ($startday == $e_startday && $starttime > $e_starttime && $starttime < $e_endtime) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     510               0 :                 $newvalues['starttime'] = $e_event['starttime'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     511               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     512                 :             //ende                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     513               0 :             if ($endday == $e_endday && $endtime < $e_endtime) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     514               0 :                 $newvalues['endtime'] = $e_event['endtime'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     515               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     516                 :             //neue werte überlappen => wenn nötig tage anpassen:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     517                 :             //davor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     518               0 :             if ($startday < $e_startday && $endtime < $e_endday) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     519               0 :                 $newvalues['endtime'] = $e_event['endday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     520               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     521                 :             //danach                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     522               0 :             if ($startday > $e_startday && $endday > $e_endday) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     523               0 :                 $newvalues['startday'] = $e_event['startday'];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     524               0 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     525               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     526               0 :         $res['concurrentIDs'] = $concurrentIDs;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
     527               0 :         $res['newvalues'] = $newvalues;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     528               0 :         return $res;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
     529                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     530                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     531                 :      * Loescht einen Gruppenzeitblock aus der Datenbank                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     532                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     533                 :      * @param id            frameID des Gruppenzeitblocks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     534                 :      * @param groupID        ID des Kurses/Teams, für das der Gruppenzeitblock definiert ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     535                 :      * @param grouptype    gibt an, ob die Gruppe ein Kurs oder ein Team ist                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     536                 :      * @param do_redirect     true wenn nach Ausführung der Funktion zur Gruppenzeiternuebersicht                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
     537                 :      *                         zurueckgesprungen werden soll, false sonst                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     538                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
     539                 :     public function deleteGrouptimeBlock($id, $groupID, $grouptype, $do_redirect) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     540               0 :         $errMsg = $this->checkRights($groupID, $grouptype);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
     541               0 :         if(isset($errMsg))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
     542               0 :             Functions::message_redirect($errMsg, "calendar.php");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     543                 :         else {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
     544               0 :             $del_event = mysql_query("DELETE FROM calendar_frame_teams WHERE frameID = '".Data::toMysql($id) ."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     545               0 :             $del_event = mysql_query("DELETE FROM calendar_frame WHERE ID = '".Data::toMysql($id) ."'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     546               0 :             if ($do_redirect) Functions::message_redirect("Gruppenzeit wurde gel&ouml;scht", "grouptimesorganisation.php?groupID=$groupID&grouptype=$grouptype");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     547                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
     548               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
     549                 : }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
     550                 : ?>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

Generated by PHPUnit 3.2.21 and Xdebug 2.0.3 at Thu Nov 26 17:01:15 CET 2009.